$(document).ready(function() {
    
    var urlCategoria = serverurl + "entity.categoria";
    var urlPlataforma = serverurl + "entity.plataforma";
    var urlJogo = serverurl + "entity.jogo";
    var urlCompra = serverurl + "entity.compra";
    var urlCarrinho = serverurl + "entity.carrinho";

    var categoria = $("#categoriabox");
    var plataforma = $("#plataformabox");
    var jogo = $("#jogobox");

    $.getJSON(urlCategoria, function(data) {
        categoria.empty();
        $.each(data, function(i, field) {
            if (field.ativo === 1) {
                var item = "<li><a href='#'>" + field.titulo + "</a></li>";
                categoria.append(item);
            }
        });
    });

    $.getJSON(urlPlataforma, function(data) {
        plataforma.empty();
        $.each(data, function(i, field) {
            if (field.ativo === 1) {
                var item = "<li><a href='#'>" + field.titulo + "</a></li>";
                plataforma.append(item);
            }
        });
    });

    $.getJSON(urlJogo, function(data) {
        jogo.empty();
        $.each(data, function(i, field) {
            if (field.ativo === 1) {
                var item = "<td><div align='center'></div><div align='center'><img src='" + field.url + "' /></div><div align='center'><br /><button class='btn btn-success' id='comprar_" + i + "'>Comprar</button></div></td>";
                jogo.append(item);
            }

            $("#comprar_" + i).click(function() {
                addCompra(field);
            });

        });
    });

    function addCompra(jogo) {
        var usuario = JSON.parse(window.localStorage.getItem("session_usuario"));

        if (usuario !== null && usuario !== undefined) {
            var criterios = JSON.stringify({
                'quantidade': 1,
                'jogoJogoId': jogo,
                'usuarioUsuarioId': usuario
            });

            $.ajax({
                url: urlCompra,
                cache: false,
                method: 'POST',
                dataType: 'json',
                contentType: 'application/json',
                data: criterios,
                success: function(data) {
                    getCompra();
                },
                error: function() {
                    alert("Erro ao cadastrar compra!");
                }
            });
        } else {
            alert("É necessário realizar o login.");
        }
    }

    function addCarrinho(obj) {
        var usuario = JSON.parse(window.localStorage.getItem("session_usuario"));
        var criterios = JSON.stringify({
            'finalizada': 0,
            'compraCompraId': obj,
            'usuarioUsuarioId': usuario
        });

        $.ajax({
            url: urlCarrinho,
            cache: false,
            method: 'POST',
            dataType: 'json',
            contentType: 'application/json',
            data: criterios,
            success: function(data) {
                window.location.href = ("meu-carrinho.xhtml");
            },
            error: function() {
                alert("Erro ao inserir no carrinho");
            }
        });
    }

    function getCompra() {
        $.getJSON(urlCompra, function(data) {
            var usuario = JSON.parse(window.localStorage.getItem("session_usuario"));
            $(data).each(function(i, field) {
                if (field.usuarioUsuarioId.usuarioId === usuario.usuarioId) {
                    addCarrinho(field);
                }
            });
        });
    }
});